package controlador;

import java.awt.Image;
import java.io.FileInputStream;

import javax.swing.JLabel;
import javax.swing.JOptionPane;

import modelo.Modelo;
import vista.Ingresar;

public class IngresarCtrl {
	
	private String txtItem;
	private String txtCantidad;
	private String txtCostoTotal;
	private String txtObs;
	private String txtCentroCosto;
	private String txtCostoUnidad;
	private JLabel lblImagen;
	private FileInputStream fis;
	private Ingresar ingresar;
	private Controlador controlador;
	private Modelo modelo;
	
	
	
	
	public Modelo getModelo() {
		return modelo;
	}
	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}
	public Controlador getControlador() {
		return controlador;
	}
	public void setControlador(Controlador controlador) {
		this.controlador = controlador;
	}
	public String getTxtItem() {
		return txtItem;
	}
	public void setTxtItem(String txtItem) {
		this.txtItem = txtItem;
	}
	public String getTxtCantidad() {
		return txtCantidad;
	}
	public void setTxtCantidad(String txtCantidad) {
		this.txtCantidad = txtCantidad;
	}
	public String getTxtCostoTotal() {
		return txtCostoTotal;
	}
	public void setTxtCostoTotal(String txtCostoTotal) {
		this.txtCostoTotal = txtCostoTotal;
	}
	public String getTxtObs() {
		return txtObs;
	}
	public void setTxtObs(String txtObs) {
		this.txtObs = txtObs;
	}
	public String getTxtCentroCosto() {
		return txtCentroCosto;
	}
	public void setTxtCentroCosto(String txtCentroCosto) {
		this.txtCentroCosto = txtCentroCosto;
	}
	public String getTxtCostoUnidad() {
		return txtCostoUnidad;
	}
	public void setTxtCostoUnidad(String txtCostoUnidad) {
		this.txtCostoUnidad = txtCostoUnidad;
	}
	public JLabel getLblImagen() {
		return lblImagen;
	}
	public void setLblImagen(JLabel lblImagen) {
		this.lblImagen = lblImagen;
	}
	public FileInputStream getFis() {
		return fis;
	}
	public void setFis(FileInputStream fis) {
		this.fis = fis;
	}
	public Ingresar getIngresar() {
		return ingresar;
	}
	public void setIngresar(Ingresar ingresar) {
		this.ingresar = ingresar;
	}
	
	
	//////////////////////////////////////
	///Metodos de busquedas
	public void actualizarComboBox() {
		modelo = controlador.getModelo();
		ingresar = controlador.getIngresar();		
		ingresar.setModeloComboboxItem(modelo.buscarItems());
		ingresar.setModeloComboboxCentroCosto(modelo.buscarCentroCosto());
		ingresar.setModeloCbxItemId(modelo.buscarItemsId());		
	}
	public boolean ingresarStock() {
		boolean x = false;
		if (txtItem.isEmpty()||txtCantidad.isEmpty()||txtCentroCosto.isEmpty()||txtCostoUnidad.isEmpty()||txtCostoTotal.isEmpty()) {
			JOptionPane.showMessageDialog(null, "Complete todos los campos", "Advertencia", JOptionPane.WARNING_MESSAGE);
		}else {			
			controlador.getModelo().ingresarStock(txtItem, txtCantidad, txtCentroCosto, txtCostoUnidad, txtCostoTotal, txtObs);
			x = true;
		}		
		return x;
	}
	public void buscarImagen(String id, int height, int width) {
		
		controlador.getModelo().getImagen(id);	
		try {
			Image imagen = controlador.getModelo().getImagen(id).getScaledInstance(width, height, Image.SCALE_DEFAULT);
	        if (imagen != null) {
	        	controlador.getIngresar().cambiarImagen(imagen);
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

}
